from config import settings


class _Conf:
    @property
    def app_name(self) -> str:
        return settings.app.name

    @property
    def llm_zhupu_apikey(self) -> str:
        return settings.llm.zhipu.apikey

    @property
    def llm_zhupu_baseurl(self) -> str:
        return settings.llm.zhipu.baseurl

    @property
    def llm_zhipu_temperature(self) -> float:
        return settings.llm.zhipu.temperature

    @property
    def llm_zhipu_model(self) -> str:
        return settings.llm.zhipu.model

    @property
    def llm_deepseek_baseurl(self) -> str:
        return settings.llm.deepseek.baseurl

    @property
    def llm_deepseek_apikey(self) -> str:
        return settings.llm.deepseek.apikey

    @property
    def llm_deepseek_model_chat(self) -> str:
        return settings.llm.deepseek.model.chat

    @property
    def llm_deepseek_model_r1(self) -> str:
        return settings.llm.deepseek.model.r1

    @property
    def llm_deepseek_temperature_extract(self) -> str:
        return settings.llm.deepseek.temperature.extract

    @property
    def llm_deepseek_temperature_code(self) -> str:
        return settings.llm.deepseek.temperature.code

    @property
    def llm_deepseek_temperature_math(self) -> str:
        return settings.llm.deepseek.temperature.math

    @property
    def llm_deepseek_temperature_chat(self) -> str:
        return settings.llm.deepseek.temperature.chat

    @property
    def llm_deepseek_temperature_translate(self) -> str:
        return settings.llm.deepseek.temperature.translate

    @property
    def llm_deepseek_temperature_write(self) -> str:
        return settings.llm.deepseek.temperature.write

    @property
    def db_mysql_database(self) -> str:
        return settings.db.mysql.database

    @property
    def db_mysql_host(self) -> str:
        return settings.db.mysql.host

    @property
    def db_mysql_port(self) -> int:
        return settings.db.mysql.port

    @property
    def db_mysql_user(self) -> str:
        return settings.db.mysql.user

    @property
    def db_mysql_password(self) -> str:
        return settings.db.mysql.password


conf = _Conf()
